package action;

import java.sql.SQLException;

import javax.servlet.ServletException;

import model.Associado;
import dao.AssociadoDAO;

public class AddAssociadoLogic extends BusinessLogic {

	private String nome;
	private String login;
	private String email;
	private String senha;
	private String cpf;
	private String telefone;
	private String endereco;

	public String execute() throws Exception {

		System.out.println("AddAssociadoSimplesLogic: Executando... ");

		// String fwd = req.getParameter("sucesso");
		String fwd = SUCCESS;

		try {
			AssociadoDAO dao = new AssociadoDAO();

			if (dao.existeEmail(getEmail())) {
				/*
				 * req.setAttribute("erro",
				 * "Este Email ja esta cadastrado, favor informe outro!"); fwd =
				 * req.getParameter("falha");
				 */
				System.out
						.println("Erro de email, redirecionando para o erro:");
				addActionError("Este Email ja esta cadastrado, favor informe outro!");
				fwd = ERROR;

			} else if (dao.existeLogin(getLogin())) {
				/*
				 * req.setAttribute("erro",
				 * "Este Login ja esta cadastrado, favor informe outro"); fwd =
				 * req.getParameter("falha");
				 * System.out.println("Erro de email, redirecionando para "+ fwd
				 * +" com o erro:"+ req.getAttribute("erro") );
				 */
				System.out
						.println("Erro de email, redirecionando para o erro:");
				addActionError("Este Login ja esta cadastrado, favor informe outro!");
				fwd = ERROR;

			} else {
				Associado associado = new Associado();

				associado.setNome(getNome());
				associado.setLogin(getLogin());
				associado.setEmail(getEmail());
				associado.setSenha(getSenha());
				associado.setCpf(getCpf());
				associado.setTelefone(getTelefone());
				associado.setEndereco(getEndereco());

				dao.adiciona(associado);

				System.out.println("Associado Inluido !");
			}

		} catch (SQLException e) {
			throw new ServletException(e);
		}

		/*
		 * RequestDispatcher rd = req.getRequestDispatcher("/"+fwd);
		 * rd.forward(req, res);
		 */
		System.out.print(" ...OK");
		return fwd;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getCpf() {
		return cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	public String getTelefone() {
		return telefone;
	}

	public void setTelefone(String telefone) {
		this.telefone = telefone;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		this.endereco = endereco;
	}
}
